Due to the popularity of the Internet and World Wide Web (WWW), a growing number of companies are creating web sites having a tremendous amount of information. For example, Cable News Network (CNN) has its own web site at "http:.backslash..backslash.www.cnn.com" with current news and events in the United States and around the world. Similarly, AT&T Research has its own web site at "http:.backslash..backslash.www.research.att.com" posting information on AT&T employees, such as their fields of research, publications, current projects, and so forth.
Creating and maintaining large web sites, however, is a tedious and time consuming task. A site designer must simultaneously preform at least three tasks: (1) choosing what information will be available at the site; (2) organizing that information in individual pages or in graphs of linked pages; and (3) specifying the visual pages using a graphical presentation language such as Hypertext Markup Language (HTML). Furthermore, since there is no separation between the physical organization of the information at a web site and a logical view prepared for the information, changing or restructuring a site become an unwieldy task. Typically, a web site comprises hundreds or even thousands of individual HTML pages ("web page"). If a web site manager wants to modify the visual presentation of information at a web site, the manager must access each individual web page one at a time and make the desired changes. This requires a tremendous amount of work. In addition, a web site manager might want different presentations for a web site depending on the viewer or the type of browser used. For example, access to AT&T's web-site might be different for internal AT&T users than external users. Another example would be that users might use different browsers such as Netscape Navigator, available from Netscape Communications, Inc., the Internet Explorer, available from Microsoft Corp, and so forth, thereby necessitating different versions of a webpage optimized for use with the browser. As a result, a web site manager would have to create and maintain multiple copies of each web page, which would add to the tediousness associated with maintaining the web site.
The difficulties in maintaining a web site are demonstrated by CNN's web site. When a user enters the Universal Resource Locator (URL) or Internet address for CNN's web site into a browser, an initial web page is presented to the user. This web page is referred to as the "root" web page. CNN's root web page provides the user with headlines of current domestic and world news. If a user wants to read an abstract of an article, the full text of the article, or related articles, the user simply clicks on the appropriate hypertext link to view the web page having the desired information ("linked web page"). CNN's web site also provides pictures and graphics along with some of its articles. The telecommunications technology allowing some users access to CNN's web site, however, is older and relatively slow. Thus, CNN offers a text-only view of its root web page to increase the speed in which the root web page is downloaded to the user's browser. CNN's web site, however, makes this feature available only for CNN's root web page, and not its linked web pages. One reason for this is that each individual web page would have to be accessed by the CNN web site manager, and all HTML commands to display image and graphic files would have to be manually removed. Moreover, each web page would have to be stored twice, once with the image and graphic HTML commands, and once without these commands. Both options are unacceptable to many web site managers.
In an attempt to solve the above problems, conventional web site management programs have been created to generate a web page using a query language rather than actually writing specific HTML commands for every web page, and storing these commands in separate files. Thus, when a web site manager needs to modify the web site, he merely modifies the query statements used in generating the web pages.
These conventional programs, however, are unsatisfactory for several reasons. First, these programs rely upon a programming language which is relatively complex, thereby trading one efficiency for another, namely, the tediousness of writing HTML commands for every web page for the difficulty of writing code using a complex programming language affecting all web pages. Second, these conventional programs require that all information or data presented by the web pages come from a single uniform data source such as a relational data base (RDB) or object-oriented data base (OODB). These programs are not capable of using information from multiple external sources stored in a variety of formats, as is the case with the information made available on such popular Wide Area Networks (WAN) as the Internet. This severely limits the robustness of the web site management program by limiting the domain of information from which the web site might draw to ultimately present to a user.
In view of the foregoing, it can be appreciated that a substantial need exists for a method and apparatus for creating and maintaining large web sites efficiently and effectively.